body {
    background-color: #f0efe9;
}

.main {
    width: 360px;
    height: 640px;
    margin: auto;
    background-color: #ffffff;
    margin-top: 30px;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 0 2px #33333333;
}

.addItemInput {
    display: block;
    margin: 8px auto;
    padding: 0;
    border: 1px solid #33333333;
    text-align: center;
    width: 360px;
    line-height: 36px;
    border-radius: 18px;
}

.todo__item {
    display: flex;
    margin-top: 16px;
}

.todo__item:hover .todo__item__delete {
    opacity: 1;
    font-size: 16px;
}

.todo__item__completion {
    width: 23px;
    height: 23px;
    margin: 0;
}

.todo__item__completion:checked + .todo__item__title {
    color: #33333333;
}

.todo__item__completion:checked + .todo__item__title:hover {
    text-shadow: 0 0 1px #33333333;
}

.todo__item__title {
    transition: color 0.2s;
    flex-grow: 1;
    padding-left: 1em;
}

.todo__item__title:hover {
    text-shadow: 0 0 1px #333333;
}

.todo__item__delete {
    border: 0;
    padding: 0;
    flex-basis: 23px;
    line-height: 23px;
    background: transparent;
    font-weight: bold;
    box-sizing: content-box;
    font-size: 0;
    opacity: 0;
    transition: opacity 0.5s, font-size 0.2s, color 0.2s;
}

.todo__item__delete:hover {
    color: #ff0000;
}